The pursuit of making computing systems more powerful, more power efficient, and more compact has led to increased operating speeds and lower power consumption. A critical component of operating at high clock speeds is maintaining synchronous clocks between parts of a system. With high clock speeds, even a small duty cycle or phase error can lead to errors with in a system.